深さ優先探索(DFS:depth first search)
単純なループなどでは探索することが難しいのに対し、再帰関数を用いて探索を行う